1. Field of the Invention
The invention relates generally to the field of systems for artificial intelligence, and more specifically to systems for identifying and quantifying similarities and differences between and among data objects.
2. Description of the Prior Art
U.S. patent application Ser. No. 07/032,161, filed Mar. 30, 1987, by David J. Hartzband, et al., for Evaluation System For Determining Analogy And Symmetric Comparison Among Objects In Model-Based Computation Systems, which is assigned to the assignee of the present application, describes a system for evaluating analogy and symmetric comparison between and among objects in a model-based computation system. Briefly, each object is defined by an associated object structure and an associated reference structure. The object structure is essentially a table which includes informational elements about the object. The informational elements in the object structure fall into four general types, including an entity identification and the object's attributes, relationships and one or more sets in which the object is included.
The reference structure associated with an object is also essentially a table, including elements identifying various of the object's properties. In particular, an object's reference structure includes the numeric and non-numeric values of the various attributes identified in the object structure and the objects or values for each of the object's relationships as set forth in the object structure. The reference structure also identifies the sets, relationships and attributes of the object, which are taken from the object structure. The elements of an object's reference structure are thus related to the elements of the object's object structure, including values for the various attributes and relationships which the object may have, which are identified without values in the object's object structure.
The system described in the aforementioned patent application evaluates analogy and symmetric comparison among objects in a set of objects. In evaluating analogy between objects in a set, the objects' reference structures are compared, element for element, in a similarity table. The similarity table includes a number of records each for one of the elements in the reference structures for the two objects. If the reference structures for the objects include similar informational elements, even if they are of different values, they are entered in the same record in the similarity table.
If the informational elements in a record in the similarity table are the same or sufficiently similar (as determined by a predetermined similarity criterion), they are assigned a score value. The scores associated with the various elements in the reference structures are assigned or weighted in accordance with weights provided by an operator or calling program to reflect the relative importance of the elements in determining the degree of analogy. The scores produced by the comparison are processed to provide an analogy score which determines the degree of analogy between the objects. The records in the similarity table which provide non-zero score values, that is, the records in which the informational elements of the reference structures of the two objects are sufficiently similar that they result in a contribution to the similarity score, form a reference structure identifying the elements of similarity between the objects.
The system evaluates symmetric comparison in a manner similar to its evaluation of analogy, with the addition that the differences determined during processing of the similarity table result in the generation of a difference table identifying the elements of the objects which are not similar, and a difference score is generated in response to these elements in a manner similar to the similarity score. Thus, the system in symmetric comparison, produces both a similarity reference structure and a difference reference structure and similarity and difference scores. Since symmetric comparison gives both the similarity and difference, the user, or a program which initiated the symmetric comparison evaluation, may determine whether the objects are more similar than different or more different than similar, and the similarity and difference reference structures identify the elements of similarity and difference.